/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package td1;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileSystemView;

/**
 * Boite de dialogue permettant l'enregistrement de fichier
 * Spécialisé dans l'enregistrement d'Image ici.
 * @author saluzzo
 */
public class FenetreSauvegarder extends JFileChooser {

    private void EnregistrerImage(File fichier, JavaCanvas image) {
        try {
            if(fichier.toString().endsWith("png")) {
                fichier.createNewFile();
            }
            else {
                fichier = new File(fichier.toString()+".png");
            }
            fichier.createNewFile();
            BufferedImage tampon = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_4BYTE_ABGR);
            Graphics g = tampon.getGraphics();
            image.paint(g);
            ImageIO.write(tampon, "PNG", fichier);

        }
        catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

    public FenetreSauvegarder(String repertoire, JavaCanvas image) {
        super(repertoire+"\\Mes Documents\\Mes Images\\", FileSystemView.getFileSystemView());
        
        int state = this.showSaveDialog(this);
        switch(state) {
            case JFileChooser.APPROVE_OPTION:
                EnregistrerImage(this.getSelectedFile(), image);
                break;
            case JFileChooser.CANCEL_OPTION:
                break;
            case JFileChooser.ERROR_OPTION:
                break;
        }
    }



}
